用于处理{Item1}的正则表达式代码。将项2放入数组或列表中
谁能给我一些关于如何使用Java正则表达式处理以下内容的建议:
{Item1}。项目2
所以我得到一个数组或列表,包含
- 项目1
- 项目2
我在想一个正则表达式,比如:
Pattern p = Pattern.compile("\\{(.+?)\\}\\.(.*?)");
Matcher match = p.matcher(mnemonicExpression);
while(match.find()) {
System.out.println(match.group());
}
但这似乎不起作用
任何帮助都将不胜感激
问候
jcstock74
# 1 楼答案
你需要抓住单独的比赛组1和2。通过使用
group()
,您实际上是在进行group(0)
,这是整个匹配。另外,最后一个.*?
不应该不情愿,否则,它只匹配一个空字符串试试这个:
它产生:
# 2 楼答案
额外的回答:这个网页有一个非常好的使用java的正则表达式测试程序。util。正则表达式。这是测试表达式的最佳方法,它甚至提供了在
Pattern.compile()
中使用的转义java字符串:http://www.regexplanet.com/simple/index.html